home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 10 / FM Towns Free Software Collection 10.iso / ms_dos / data / awkscrpt / kake.awk < prev    next >
Text File  |  1995-02-09  |  968b  |  43 lines

  1. BEGIN {
  2.     maxn=ARGC>1?ARGV[1]:10
  3.     maxn--
  4.     ARGV[1]=""
  5.     srand()
  6.     print "\x1b[2Jかけざんのおけいこ"
  7.     do {
  8.         nm++
  9.         n1=randint(maxn)+1
  10.         n2=randint(maxn)+1
  11.         printf("\nだい %d もん    %g × %g = ? ",nm,n1,n2)
  12.         while((input=getline)>0)
  13.             if($0==n1*n2) {
  14.                 print "\x1b[2Jよくできました。(「Q」でおわり)"
  15.                 nr++
  16.                 break
  17.             } else if($0~/[?Hh]/) {
  18.                 print "ただしいこたえは",n1*n2,"です。"
  19.                 nd++
  20.                 break
  21.             } else if($0~/[Qq]/) {
  22.                 exit
  23.             } else if($0=="") {
  24.                 printf("もういちど、どうぞ。:")
  25.             } else {
  26.                 printf("まちがえています。もういちど、どうぞ。:")
  27.                 nw++
  28.             }
  29.     } while(input>0)
  30. }
  31.  
  32. END {
  33.     nm--
  34.     printf("\nもんだいすう      %d\n",nm)
  35.     printf("せいかいすう      %d\n",nr)
  36.     printf("まちがえたかいすう   %d\n",nw)
  37.     printf("わからなかったかいすう %d\n",nd)
  38.     if(nm>19 && nw==0 && nd==0)
  39.         printf("\nぜんもんせいかい! あなたはてんさいです!\n")
  40. }
  41.  
  42. function randint(n) {return int(rand()*n)+1}
  43.